TARGETS = smart_pointer
all: $(TARGETS)

CPP = g++
CPPFLAGS = -std=c++11 -g 

%.o : %.cpp
	$(CPP) $(CPPFLAGS) -c $< -o $@

smart_pointer: smart_pointer.o
	$(CPP) $^ -o smart_pointer

.PHONY: clean
clean:
	rm -rf *.o $(TARGETS) 